/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unipampa.cenario;

import br.edu.unipampa.desafio.Desafio;
import br.edu.unipampa.recurso.Alimento;
import br.edu.unipampa.recurso.Ambiente;

/**
 *
 * @author Willian Samuel
 */
public class Local {

    private String nome;
    private String narrativa;
    private Ambiente recurso;
    protected Local proximoCenario[];
    protected Local CenarioAnterior[];
    private Desafio desafio;
    private int cansaco;
    private String tipo;

    public Local(){
        
    }
    public Local(String nome, Alimento recurso,String tipo ) {
        this.nome = nome;
        this.recurso = recurso;
        this.tipo = tipo;
    }

    public Local(String nome, int cansaco,String tipo) {
        this.nome = nome;
        this.cansaco = cansaco;
        this.tipo = tipo;
    }

    public Local(String nome, Ambiente recurso, Desafio desafio, int cansaco, String narrativa,String tipo) {
        this.nome = nome;
        this.recurso = recurso;
        this.desafio = desafio;
        this.cansaco = cansaco;
        this.narrativa = narrativa;
        this.tipo = tipo;
    }

    public Local(String nome, Ambiente recurso, Desafio desafio, int cansaco,String tipo) {
        this.nome = nome;
        this.recurso = recurso;
        this.desafio = desafio;
        this.cansaco = cansaco;
        this.tipo = tipo;
    }

    public Local(String nome, Ambiente recurso, int cansaco,String tipo) {
        this.nome = nome;
        this.recurso = recurso;
        this.cansaco = cansaco;
        this.tipo = tipo;
    }

    public Local(String nome, Desafio desafio, int cansaco,String tipo) {
        this.nome = nome;
        this.desafio = desafio;
        this.cansaco = cansaco;
        this.tipo = tipo;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getNarrativa() {
        return narrativa;
    }

    public void setNarrativa(String narrativa) {
        this.narrativa = narrativa;
    }

    public Ambiente getRecurso() {
        return recurso;
    }

    public void setRecurso(Ambiente recurso) {
        this.recurso = recurso;
    }

    public Local[] getProximoCenario() {
        return proximoCenario;
    }

    public void setProximoCenario(Local[] proximoCenario) {
        this.proximoCenario = proximoCenario;
    }

    public Local[] getCenarioAnterior() {
        return CenarioAnterior;
    }

    public void setCenarioAnterior(Local[] CenarioAnterior) {
        this.CenarioAnterior = CenarioAnterior;
    }

    public String OpcoesDeCaminho() {
        String caminhosSeguir = "";
        String caminhosVoltar = "";
        if (proximoCenario != null) {
            for (int i = 0; i < proximoCenario.length; i++) {
                caminhosSeguir = caminhosSeguir + "Código: " + i
                        + " Local: " + proximoCenario[i].getNome() + "\n";
            }
        } else {
            caminhosSeguir = "####Nenhum caminho para seguir####";
        }
        if (CenarioAnterior != null) {
            for (int i = 0; i < CenarioAnterior.length; i++) {
                caminhosVoltar = caminhosVoltar + "Código: " + i
                        + " Local: " + CenarioAnterior[i].getNome() + "\n";
            }
        } else {
            caminhosVoltar = "###Nenhum caminho para voltar###\n";
        }

        return "-------------------------------------------------------------\n"
                + "Digite o codigo do Caminho a Voltar \n" + caminhosVoltar
                + "Digite o codigo do Caminho a Seguir \n" + caminhosSeguir
                + "------------------------------------------------------------\n";
    }

    public Desafio getDesafio() {
        return desafio;
    }

    public void setDesafio(Desafio desafio) {
        this.desafio = desafio;
    }

    public int getCansaco() {
        return cansaco;
    }

    public void setCansaco(int cansaco) {
        this.cansaco = cansaco;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
}
